---
title: "HCAMP Paper Version 2"
output:
flexdashboard::flex_dashboard:
orientation: rows
social: menu
source_code: embed
vertical_layout: scroll
theme: united
---
```{r setup, include=FALSE}
library(flexdashboard)
library(tidyverse)
library(here)
library(janitor)
library(rio)
library(colorblindr)
library(gghighlight)
library(forcats)
library(ggrepel)
library(knitr)
library(kableExtra)
library(reactable)
library(plotly)
library(glue)
library(fs)
library(rstatix)
library(ggpubr)
library(writexl)
library(remotes)
library(profvis)
theme_fivethirtyeight <- function(base_size = 15, base_family = "") {
theme_grey(base_size = base_size, base_family = base_family) %+replace%
theme(
# Base elements which are not used directly but inherited by others
line = element_line(colour = '#DADADA', size = 0.75,
linetype = 1, lineend = "butt"),
rect = element_rect(fill = "#F0F0F0", colour = "#F0F0F0",
size = 0.5, linetype = 1),
text = element_text(family = base_family, face = "plain",
colour = "#656565", size = base_size,
hjust = 0.5, vjust = 0.5, angle = 0,
lineheight = 0.9),
# Modified inheritance structure of text element
plot.title = element_text(size = rel(1.5), family = '' ,
face = 'bold', hjust = -0.05,
vjust = 1.5, colour = '#3B3B3B'),
axis.title.x = element_blank(),
axis.title.y = element_blank(),
axis.text = element_text(),
# Modified inheritance structure of line element
axis.ticks = element_line(),
panel.grid.major = element_line(),
panel.grid.minor = element_blank(),
# Modified inheritance structure of rect element
plot.background = element_rect(),
panel.background = element_rect(),
legend.key = element_rect(colour = '#DADADA'),
# Modifiying legend.position
legend.position = 'none',
complete = TRUE
)
}
theme_set(theme_fivethirtyeight())
```
```{r global, include=FALSE}
#all clean sims data
sims_concussion_data <- read_csv(here("data", "sims_concussion_data.csv"))
sims_concussion_data <- sims_concussion_data %>%
mutate(age = as.factor(age))
simsimp <- read_csv(here("data", "clean_impact_sims_data.csv"))
str(simsimp)
simsimp <- simsimp %>%
mutate(dataset = as.factor(dataset),
school_year = as.factor(school_year),
school = as.factor(school),
league = as.factor(league),
gender = as.factor(gender),
age = as.factor(age),
sport = as.factor(sport),
injury = as.factor(injury))
```
```{r, include=FALSE}
#helpful functions
mean_2 <- function(x) {
z <- na.omit(x)
sum(z) / length(z)
}
my_mean <- function(x) {
mean(x[x >= 0], na.rm = TRUE)
}
create_react_time <- function(df, var) {
df %>%
summarize(Mean = mean({{var}}),
SD = sd({{var}}),
Min = min({{var}}),
Max = max({{var}}),
Total = length({{var}})) %>%
mutate_if(is.numeric, round, 2) %>%
reactable(columns = list(
Mean = colDef(format = colFormat(separators = TRUE, suffix = " days")),
SD = colDef(format = colFormat(separators = TRUE, suffix = " days")),
Min = colDef(format = colFormat(separators = TRUE, suffix = " days")),
Max = colDef(format = colFormat(separators = TRUE, suffix = " days")),
Total = colDef(format = colFormat(separators = TRUE, suffix = " concussions"))
))
}
create_react <- function(df, var) {
df %>%
summarize(Mean = mean({{var}}),
SD = sd({{var}}),
Min = min({{var}}),
Max = max({{var}}),
Total = length({{var}})) %>%
mutate_if(is.numeric, round, 2) %>%
reactable(columns = list(
Mean = colDef(format = colFormat(separators = TRUE)),
SD = colDef(format = colFormat(separators = TRUE)),
Min = colDef(format = colFormat(separators = TRUE)),
Max = colDef(format = colFormat(separators = TRUE)),
Total = colDef(format = colFormat(separators = TRUE, suffix = " concussions"))
))
}
my_mean(simsimp$dys_btwn_onset_test_4)
```
# Data Overview
Row {.tabset}
-----------------------------------------------------------------------
### Sex
```{r, include=FALSE}
simsimp %>%
group_by(gender) %>%
summarize(total = n()) %>%
arrange(desc(total)) %>%
reactable(
columns = list(
gender = colDef(name = "Sex",
align = "center"),
total = colDef(name = "Total",
align = "center",
format = colFormat(suffix = " injuries"))),
pagination = TRUE,
striped = TRUE,
outlined = TRUE,
compact = TRUE,
highlight = TRUE,
bordered = TRUE
)
```
```{r, include=FALSE}
sims_sex <- simsimp %>%
group_by(gender) %>%
summarize(total = n()) %>%
arrange(desc(total))
sims_sex_plot <- ggplot(sims_sex, aes(fct_reorder(gender, total), total)) +
geom_col(fill = "blue",
alpha = 0.7) +
scale_y_continuous(limits = c(0, 600),
breaks = c(0, 200, 400, 600)) +
coord_flip() +
labs(x = "",
y = "Total")
```
```{r, include=TRUE}
ggplotly(sims_sex_plot)
```